/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ec.edu.espe.ccsoft.mantenimiento.servicios;

import ec.edu.espe.ccsoft.mantenimiento.dao.RolFacade;
import ec.edu.espe.ccsoft.mantenimiento.modelos.Rol;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;

/**
 *
 * @author misahaelfernandez
 */
@Stateless
@LocalBean
public class RolServicio {

    @EJB
    private RolFacade rolFacade;

    public List<Rol> obtenerTodosActivos() {
        return this.rolFacade.findAllByEstate(Boolean.TRUE);
    }

    public Rol obtenerPorCodigo(Integer codigo) {
        return this.rolFacade.find(codigo);
    }
    
    public Boolean obtenerPorNombre(String nombre){
        return this.rolFacade.findByNombre(nombre)==null;
    }
    
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public void crear(Rol rol) {
        this.rolFacade.create(rol);
    }

    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public void actualizar(Rol rol) {
        this.rolFacade.edit(rol);
    }

    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public void eliminar(Rol rol) {
        Rol rolTmp = this.rolFacade.find(rol.getCodRol());
        if (rolTmp != null) {
            this.rolFacade.remove(rolTmp);
        }
    }
}
